package com.yoake.cine.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yoake.common.annotation.Excel;
import com.yoake.common.core.domain.BaseEntity;

/**
 * 电影信息管理对象 movie
 * 
 * @author yoake
 * @date 2025-03-20
 */
public class Movie extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 电影编号 */
    private String movieId;

    /** 电影名称 */
    @Excel(name = "电影名称")
    private String movieName;

    /** 电影时长(单位: 分钟) */
    @Excel(name = "电影时长(单位: 分钟)")
    private Long movieLength;

    /** 电影海报 */
    @Excel(name = "电影海报")
    private String moviePoster;

    /** 电影区域 */
    @Excel(name = "电影区域")
    private String movieArea;

    /** 上映时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上映时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date releaseDate;

    /** 电影总票房 */
    @Excel(name = "电影总票房")
    private BigDecimal movieBoxOffice;

    /** 电影简介 */
    @Excel(name = "电影简介")
    private String movieIntroduction;

    /** 电影图集 */
    @Excel(name = "电影图集")
    private String moviePictures;

    /** 删除标记，0未删除，1删除，默认0 */
    @Excel(name = "删除标记，0未删除，1删除，默认0")
    private Long delState;

    public void setMovieId(String movieId) 
    {
        this.movieId = movieId;
    }

    public String getMovieId() 
    {
        return movieId;
    }

    public void setMovieName(String movieName) 
    {
        this.movieName = movieName;
    }

    public String getMovieName() 
    {
        return movieName;
    }

    public void setMovieLength(Long movieLength) 
    {
        this.movieLength = movieLength;
    }

    public Long getMovieLength() 
    {
        return movieLength;
    }

    public void setMoviePoster(String moviePoster) 
    {
        this.moviePoster = moviePoster;
    }

    public String getMoviePoster() 
    {
        return moviePoster;
    }

    public void setMovieArea(String movieArea) 
    {
        this.movieArea = movieArea;
    }

    public String getMovieArea() 
    {
        return movieArea;
    }

    public void setReleaseDate(Date releaseDate) 
    {
        this.releaseDate = releaseDate;
    }

    public Date getReleaseDate() 
    {
        return releaseDate;
    }

    public void setMovieBoxOffice(BigDecimal movieBoxOffice) 
    {
        this.movieBoxOffice = movieBoxOffice;
    }

    public BigDecimal getMovieBoxOffice() 
    {
        return movieBoxOffice;
    }

    public void setMovieIntroduction(String movieIntroduction) 
    {
        this.movieIntroduction = movieIntroduction;
    }

    public String getMovieIntroduction() 
    {
        return movieIntroduction;
    }

    public void setMoviePictures(String moviePictures) 
    {
        this.moviePictures = moviePictures;
    }

    public String getMoviePictures() 
    {
        return moviePictures;
    }

    public void setDelState(Long delState) 
    {
        this.delState = delState;
    }

    public Long getDelState() 
    {
        return delState;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("movieId", getMovieId())
            .append("movieName", getMovieName())
            .append("movieLength", getMovieLength())
            .append("moviePoster", getMoviePoster())
            .append("movieArea", getMovieArea())
            .append("releaseDate", getReleaseDate())
            .append("movieBoxOffice", getMovieBoxOffice())
            .append("movieIntroduction", getMovieIntroduction())
            .append("moviePictures", getMoviePictures())
            .append("delState", getDelState())
            .toString();
    }
}
